// pages/login/index.js
const APP = getApp()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        referrerUrl: ''
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        let {
            url
        } = options
        console.log('登录参数', APP.globalData);
        if (url) {
            this.setData({
                referrerUrl: decodeURIComponent(url)
            })
        }
    },
    /**
     * 微信登录
     */
    onWeLogin() {
        let encryptedData = ''
        let iv = ''
        let userInfo = ''

        wx.showLoading({
            title: '登录中...',
            mask: true
        })
        this.loginCode().then((result) => {
            const {
                code,
            } = result
            console.log('code', code);
            return wx.http.post(wx.api.wxAppLogin, {
                code,
                from_uid: APP.globalData.from_uid
            })
        }).then(res => {
            if (res.code == 1) {
                wx.setStorageSync('token', res.data.token)
                this.getUserInfo(() => {
                    wx.hideLoading()
                    wx.reLaunch({
                        url: this.data.referrerUrl || '/pages/index/index',
                    })
                })
            } else {
                wx.showToast({
                    title: '登录失败，请重新进入小程序',
                    icon: 'none'
                })
            }
        }).catch(err => {
            console.error(err);
            wx.hideLoading()
            wx.showToast({
                title: '登录失败',
                icon: 'none'
            })
        })
    },
    /**
     * 登录code
     */
    loginCode() {
        return new Promise(function (resolve, reject) {
            wx.login({
                success: (res) => resolve(res),
                fail: err => reject(err)
            })
        })
    },
    /**
     * 获取用户个人信息
     */
    getUserInfo(cb) {
        wx.http.get(wx.api.GetUserAllInfo).then(res => {
            if (res.code == 1) {
                wx.setStorage({
                    key: 'uinfo',
                    data: res.data.data,
                    success: () => cb()
                })
            }
        })
    },

    /**
     * 手机号登录
     */
    onPhoneNumber(e) {
        console.log(e);
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})